小米路由的IPv6支持教程(纯转保存) |
您所在的位置:网站首页 › 小米路由器 配置ipv6防火墙怎么设置 › 小米路由的IPv6支持教程(纯转保存) |
小米路由器其实已经内置了适用于IPv6的相关模块,但未提供打开的方式。在官方正式支持之前,以下教程给出一种打开小米路由对宽带IPv6支持的方案。 请注意: IPv6需要宽带运营商的支持。 以下内容以R2D(系统版本:2.25.209)为例,截止发帖时可用。不清楚其他路由型号是否适用。 本案例支持的是小米路由以PPPoE方式获得宽带光猫(桥接模式)下发的IPv6配置。不是指“教育网IPv6插件”。 需要root和开启SSH。这两个操作存在风险,如还未开启请谨慎决定。 本方法开启后的IPv6可能会偶然存在不稳定情况,可能会与某些插件产生冲突。 本教程供爱好者个人研究,请勿在生产环境等可能会因网络问题造成损失的场景使用。 默认使用PuTTY和WinSCP进行相关操作。 方法: 目的是在“教育网IPv6插件”不开启的情况下,也要打开路由器的IPv6总开关。 找到路由器内部文件 /etc/config/ipv6 ,替换为: config ipv6 'settings' list if_on 'wan' option enabled '1' list if_on 'ipv6' option enabled '1'复制代码 (如需预留恢复原状的可能,请备份原来的文件内容) 之后重启路由器,通过 http://ipv6-test.com/、http://www.test-ipv6.com/ 等网站验证是否配置成功。 讨论: 其实还存在其他的改法,但需要提醒的是,某些写法重启后会被系统自动改回去。 有资料显示要改/etc/config/network、/etc/config/dhcp,不过小米路由似乎不需要修改。 对于上海电信用户需要配置4K IPTV的,可以参见:http://www.miui.com/thread-6990020-1-1.html 如果有同样成功的请回帖说一下,以免我遗漏了一些内容。 2019/3/2更新:对于宽带光猫路由模式支持 本段教程在作者电信光猫(光猫拨号、路由模式,小米路由 DHCP)下的小米路由器R2D中试验成功,无法保证在其它设备上能够正常运作。 本段教程涉及操作较多,如操作不当,存在使路由器崩溃的风险,应做好相关准备。 确保光猫配置界面“IPv6 连接信息”能够获得 IPv6 地址且前缀小于\64。检查“LAN侧地址配置-IPv6配置”中“RADVD”已经起用。 对于光猫路由模式的支持基于前面的教程。请先阅读前述教程注意事项、完成所有步骤。 此时,通过网站验证 IPv6 会面临失败。然而,在局域网中电脑的cmd中运行: ipconfig -all复制代码 可以看到已经正常获得了公网“IPv6 地址”。(“本地链接 IPv6 地址”为“fe80”开头,如果仅有这项代表不成功) 另一个重要的判断依据需要登陆SSH进到路由器,然后在SSH中运行: ping6 ipv6.tsinghua.edu.cn 复制代码 此时应该能够得到IPv6地址(2402:f000:1:881::8:205)和 ping 反馈。 还可以运行: ifconfig复制代码 检查 eth0.2 的 inet6 addr 是否正常获得地址和小于等于/64的前缀。 如果都检查通过,说明路由器本体可以连上 IPv6 ,且具备向下属设备进一步 SLAAC 的能力。 方法: 小米路由事实上已经实现了大多数的 IPv6 支持,然而由于固件版本太低,唯独 NDP 在光猫路由情形下无法正常工作,需要额外可执行文件来帮忙。 6relayd 可以作为合适的 NDP 中继。其实 6relayd 功能还有很多,更有 odhcpd 作为更丰富的继承者。然而这两个组件官方均未提供使用,于是运用小米提供的 SDK 自行编译了 6relayd : 将 6relayd 文件放入/sbin/并使其可执行。由于该文件夹默认只读,先在 SSH 中输入以下命令解锁: mount -o remount rw /之后,用之前推荐的软件通过 SCP 把文件放入上述文件夹。并授予其可执行权限: chmod +x /sbin/6relayd此时,在SSH中执行“6relayd”应该会显示程序的帮助信息。 在本案例中,输入如下命令: 6relayd -N eth0.2 br-lan重启局域网中的计算机后,再通过网站验证 IPv6,应当会通过验证。 走到这一步,说明全部的技术路线已经打通。为了让 6relayd 能够在路由器重启后自动执行,将其附加在开机自动执行的脚本上。以 /etc/init.d/plugin_start_.sh 为例,加入的方式如下: netmode=$(uci get xiaoqiang.common.NETMODE) if [ "$netmode"x != "lanapmode"x ] && [ "$netmode"x != "wifiapmode"x ] then copy_plugin_chroot_file sync # decrese current priority and throw myself to mem cgroup # so all plugins inherit those attributes renice -n+10 -p $ echo $ > /dev/cgroup/mem/group1/tasks /usr/sbin/plugin_start_impl.sh & 6relayd -d -N eth0.2 br-lan fi重启路由器后,路由器下属设备应当自动获得正常的 IPv6 连接,这样的话就大功告成了。 开机启动中 6relayd 加入了 -d 参数以免阻塞脚本运行。 6relayd 源代码来源:https://github.com/sbyx/6relayd 小米路由交叉编译技术参考:http://www.book41.net/?p=832 |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |